import type { NamedSlotTemplates, Slots } from "@lib/Slot";
import type { Component, JSX, JSXElement, Ref } from "solid-js";

export interface DropdownSlots extends NamedSlotTemplates {
  default: Component<{ ref?: Ref<any> } & Record<string, any>>;
  list: Component<{ ref?: Ref<any> } & Record<string, any>>;
}

export interface DropdownProps
  extends Slots<DropdownSlots>,
    JSX.CustomAttributes<any> {
  items?: JSXElement[];
  defaultProps?: Record<string, any>;
  listProps?: Record<string, any>;
  split?: boolean
  noContainer?: boolean
  centered?: boolean
  alignment?: 'start' | 'end'
  direction?: 'up' | 'end' | 'start'
  display?: 'static' | 'dynamic'
}
